// 引入Express框架
const express = require('express');
const app = express();
// 引入文件系统模块
const fs = require('fs');
const path = require('path');
// 引入multer，用于处理文件上传   第三方模块
const multer = require('multer');
const cors = require('cors')
// 配置静态资源目录
app.use(express.static('public'));
// 通过 express.urlencoded() 这个中间件，来解析 表单中的 url-encoded 格式的数据
app.use(express.urlencoded({ extended: false }));
app.use(cors())
// 配置文件上传
const storage = multer.diskStorage({
    // 设置文件保存的目标文件夹
    destination: (req, file, cb) => {
        const uploadDir = path.join(__dirname, 'public/users_img');
        if (!fs.existsSync(uploadDir)) {
            fs.mkdirSync(uploadDir, { recursive: true });
        }
        cb(null, uploadDir);
    },
    filename: (req, file, cb) => {
        const uniqueName = Date.now() + '-' + file.originalname;
        cb(null, uniqueName);
    }
});
// 创建multer实例
const upload = multer({ storage: storage });

// 处理用户注册的路由
app.post('/biaodan', upload.single('avatar'), (req, res) => {
    // 获取表单中信息
    const { nickname, gender, hobby, city } = req.body;
    // 读取user.json文件内容
    let users = [];
    try {
        const data = fs.readFileSync('user.json', 'utf8');
        users = JSON.parse(data);
    } catch (err) {
        users = []

    }
    // 新的用户对象
    const newUser = {
        nickname,
        gender,
        hobby,
        city,
        avatar,
    };
    // 添加到用户数组
    users.push(newUser);
    // 新后的用户数组写回user.json
    fs.writeFileSync('user.json', JSON.stringify(users, null, 2));

    res.send('注册成功');
});



app.listen(3000, () => {
    console.log('启动成功🚀:http://localhost:3001')
})